package com.prd.dto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 组织任命数据表
 * </p>
 *
 * @author lizhaoyi
 * @since 2024-01-21
 */
@Data
public class OaAppointmentOrganizeDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键id")
    private Long id;

    @ApiModelProperty(value = "创建人")
    @JsonSerialize(using = ToStringSerializer.class)
    private String createdBy;

    @ApiModelProperty(value = "创建时间")
    private Date createdTime;

    @ApiModelProperty(value = "修改人")
    private String updateBy;

    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    @ApiModelProperty(value = "任命方式：0-组织任命；1-组织考察任命;2-转正")
    private Integer appointmentWays;

    @ApiModelProperty(value = "产生方式：0-推荐/提名/提议；1-动议/酝酿")
    private Integer generationWays;

    @ApiModelProperty(value = "任命类型：0-晋升")
    private Integer appointmentType;

    @ApiModelProperty(value = "变动幅度")
    private String changeRange;

    @ApiModelProperty(value = "被任命人")
    private String appointee;

    @ApiModelProperty(value = "被任命人电话")
    private String phone;

    @ApiModelProperty(value = "被任命人部门")
    private String oldDept;

    @ApiModelProperty(value = "被任命人岗位")
    private String oldPost;

    @ApiModelProperty(value = "被任命人职务")
    private String oldPosition;

    @ApiModelProperty(value = "推荐/提名人")
    private String nominator;

    @ApiModelProperty(value = "特别说明")
    private String specification;

    @ApiModelProperty(value = "被考察人")
    private String examinedPerson;

    @ApiModelProperty(value = "考察目的,如：晋升")
    private String examineTarget;

    @ApiModelProperty(value = "考察周期")
    private String examineCycle;

    @ApiModelProperty(value = "任命部门")
    private String newDept;

    @ApiModelProperty(value = "任命岗位")
    private String newPost;

    @ApiModelProperty(value = "任命职务")
    private String newPosition;

    @ApiModelProperty(value = "直接上级")
    private String reportTo;

    @ApiModelProperty(value = "描述")
    private String appointDescribe;

    @ApiModelProperty(value = "备注/凭证：文字描述")
    private String remark;

    @ApiModelProperty(value = "备注/凭证：图片")
    private String remarkPhoto;

    @ApiModelProperty(value = "编辑人")
    private String editor;

    @ApiModelProperty(value = "负责人")
    private String header;

    @ApiModelProperty(value = "考察人")
    private String examiner;

    @ApiModelProperty(value = "审核人")
    private String reviewBy;

    @ApiModelProperty(value = "批准人")
    private String approver;

    @ApiModelProperty(value = "抄送")
    private String ccTo;

    @ApiModelProperty(value = "状态")
    private Integer status;

    @ApiModelProperty(value = "工作流id")
    private String processId;

    @ApiModelProperty(value = "编号")
    private Integer num;

    @ApiModelProperty(value = "考察报告id")
    private String reportId;

    @ApiModelProperty(value = "晋升担保")
    private String promotionSecurity;

    @ApiModelProperty(value = "新岗位/职务可预期评估")
    private String assess;


}
